A wide selection of user interfaces and applications utilizing such is available. One form of a user interface is a graphical user interface (GUI) providing the user with graphical representation of the application and/or its data.
In general GUI can be viewed as a state of a display screen on which it is presented. It is to be noted that ‘state’ does not necessarily mean exact location and look of the displayed graphical elements. State may refer to the set of elements displayed on screen or the mere fact of a particular view or form or page or the like being displayed. Thus GUI can e.g. under the influence of the user change its state. One example of change of state is moving to a different page. Another example of change of state is displaying a more detailed view of a particular object.
Prior art solutions offer simple short-cuts to one change of state only e.g. the most often used documents in MS Windows operating system's START menu provides a list of most commonly opened documents. This provides just one step of GUI state change i.e. from the desktop or START menu view to the document browser or editor view. There is no mechanism that would detect what the most common next action done by the user is. An exemplary embodiment of such action would be to immediately run word count statistic generator on the document and consequently a spell-check.
Other solutions available include a possibility to either manually or semi-automatically define macro commands that group different commands into one sequence. Such solution is called a ‘macro’ hereinafter. However, such solution has two drawback that the present invention attempts at eliminating. The first disadvantage of macros is the necessity to explicitly enter a definition state to allow adding of steps to the sequence. The second disadvantage is the lack of adaptivity of such defined macro to the conditions it is executed in. Exemplary lack of adaptivity is a macro that sequentially opens a large data set file, reads a portion of the data and stores in another file on a computer system. Such macro will always open the large file mentioned in the first step. The present invention describes a system that will allow for automatic and efficient processing of the file even if it is already open.
Keyboard macros and mouse macros allow short sequences of keystrokes and mouse actions to be transformed into other, usually more time-consuming, sequences of keystrokes and mouse actions. In this way, frequently used or repetitive sequences of keystrokes and mouse movements can be automated. Separate programs for creating these macros are called macro recorders.
Not all software comes with a built-in macro recorder. A standalone macro-recorder program allows a user to “record” mouse and keyboard functions for “playback” at a later time. This allows automating any activity in any software application: from copy-pasting spreadsheet data to operating system maintenance actions.
Macro recorders do not attempt to analyze or interpret what the user did when the macro was recorded. This can cause problems when trying to execute a macro if the user's desktop environment has changed. For example, if the user has changed their desktop resolution, moved icons, or moved the task bar, the mouse macro may not perform the way the user intended. That's one of the reasons for preferring keyboard macros over the mouse-oriented ones. (source: Wikipedia)
The aim of the development of the present invention is an improved system and method for automatic advancement of navigation through user interface.